java.lang.Object
edu.claflin.finder.algo.clustering.struct.leading_eigenvector_struct.LeadingEigenvectorAlgorithm

public final class LeadingEigenvectorAlgorithm extends Object
  • Field Details

    • graph

      private Graph graph
    • groupVector

      private int[] groupVector
    • nodeCount

      private int nodeCount
    • groupLabel

      private int groupLabel
    • modularityMatrix

      private double[][] modularityMatrix
    • communities

      private HashMap<Integer,List<Node>> communities
  • Constructor Details

    • LeadingEigenvectorAlgorithm

      public LeadingEigenvectorAlgorithm(Graph g)
  • Method Details

    • split

      private void split(int groupLabel)
    • getAdjacencyMatrix

      private double[][] getAdjacencyMatrix()
    • getModularityMatrix

      private double[][] getModularityMatrix()
    • getModularityScore

      private double getModularityScore(double[][] modMatrix, int[] groupVector)
    • getModularityDelta

      private double getModularityDelta(int nodeID, int oldGroup, int newGroup)
    • getGroupModMatrix

      private LeadingEigenvectorAlgorithm.MappedModularityMatrix getGroupModMatrix(int groupLabel)
    • getGroupVector

      private int[] getGroupVector(double[][] modMatrix)
    • stepOptimization

      private void stepOptimization()
    • hasNeighbor

      private boolean hasNeighbor(int nodeID, int groupToCheck)
    • updateGroupVector

      private void updateGroupVector(int[] map, int[] localGroupVector)
    • normalizeGroupVector

      private void normalizeGroupVector()
    • getCommunities

      public HashMap<Integer,List<Node>> getCommunities()
    • getGraph

      public Graph getGraph()